/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.io.Serializable;

/**
 *
 * @author Eduarda
 */
public class ProfissionalCargo extends Cargo implements Serializable {
    private Pessoa pessoa;
    private int idPessoa;
    private Cargo cargo;
    
     /**
     * construtor vazio
     */  
    
    public ProfissionalCargo(){
                
    }

    public ProfissionalCargo(int idPessoa,Pessoa pessoa, Cargo cargo) {
        this.pessoa = pessoa;
        this.idPessoa = idPessoa;
        this.cargo = cargo;
    }

    public ProfissionalCargo(int idCargo, String nome) {
        super(idCargo, nome);
    }

    /**
     * @return the pessoa
     */
    public Pessoa getPessoa() {
        return pessoa;
    }

    /**
     * @param pessoa the pessoa to set
     */
    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    /**
     * @return the idPessoa
     */
    public int getIdPessoa() {
        return idPessoa;
    }

    /**
     * @param idPessoa the idPessoa to set
     */
    public void setIdPessoa(int idPessoa) {
        this.idPessoa = idPessoa;
    }

    /**
     * @return the cargo
     */
    public Cargo getCargo() {
        return cargo;
    }

    /**
     * @param cargo the cargo to set
     */
    public void setCargo(Cargo cargo) {
        this.cargo = cargo;
    }

    @Override
    public String toString() {
        return "ProfissionalCargo{" + "pessoa=" + pessoa + ", idPessoa=" + idPessoa + ", cargo=" + cargo + '}';
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 37 * hash + (this.pessoa != null ? this.pessoa.hashCode() : 0);
        hash = 37 * hash + this.idPessoa;
        hash = 37 * hash + (this.cargo != null ? this.cargo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ProfissionalCargo other = (ProfissionalCargo) obj;
        if (this.pessoa != other.pessoa && (this.pessoa == null || !this.pessoa.equals(other.pessoa))) {
            return false;
        }
        if (this.idPessoa != other.idPessoa) {
            return false;
        }
        if (this.cargo != other.cargo && (this.cargo == null || !this.cargo.equals(other.cargo))) {
            return false;
        }
        return true;
    }     
   
    
    
}
